home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / cpp_libs / rjs.lha / RJS / CmdLine / src / CmdOpt_boolean.C < prev    next >
C/C++ Source or Header  |  1991-06-14  |  815b  |  44 lines

  1. #include "CmdLine.h"
  2. #include <RJS/Regex.h>
  3.  
  4. RJS_CmdOpt_boolean::RJS_CmdOpt_boolean(const char *k, RJS_CmdOpt::CmdOptFlags f) 
  5.     : RJS_CmdOpt(k,RJS_CmdOpt::CmdOptFlags(f|Value)) 
  6. {
  7.     val=0;
  8. }
  9.  
  10. RJS_CmdOpt_boolean::RJS_CmdOpt_boolean(const char *k, const RJS_String &df,
  11.     RJS_CmdOpt::CmdOptFlags f) : RJS_CmdOpt(k,df,f)
  12. {
  13.     val=0;
  14. }
  15.  
  16. const char *RJS_CmdOpt_boolean::value_type() 
  17. {
  18.     return "boolean";
  19. }
  20.  
  21. void RJS_CmdOpt_boolean::reset()
  22. {
  23.     RJS_CmdOpt::reset();
  24.     val=0;
  25. }
  26.  
  27.  
  28.  int RJS_CmdOpt_boolean::set_value() 
  29. {
  30.     static RJS_Regex true("[yYtT1]"),false("[nNfF0]");
  31.  
  32.     if (RJS_CmdOpt::val(0,1).contains(true)) val=1;
  33.     else if (RJS_CmdOpt::val(0,1).contains(false)) val=0;
  34.     else return 0;
  35.     return 1;
  36. }
  37.  
  38. void RJS_CmdOpt_boolean::dump()
  39. {
  40.     RJS_CmdOpt::dump();
  41.     cout << "boolean: " << (value() ? "true" : "false") << endl;
  42. }
  43.  
  44.